The present invention relates generally to imaging, and more particularly, to image storage and distribution apparatus and methods for use in storing and distributing large image data files that require special handling to provide for high performance.
The assignee of the present invention has developed a working storage unit that comprises an array of 39 disks including one hot spare for a total of 40 disks. The unit is unique because of its built-in distribution. The working storage unit has 28 ports arranged in pairs. Each pair of ports is either an input pair or an output pair. The working storage unit includes a control computer that processes requests for services, including input or output of data files.
The working storage unit is a complex unit. FIG. 1 shows the basic structure for the working storage unit. The computer and the printed circuit cards of the working storage unit are connected to a VME backplane for control of the operation of the working storage unit. The interface to the disks of the working storage unit is a set of "distribution" cards, one card for each pair of disk shelves, with 5 disks per disk shelf. There are support cards for the working storage unit. An Ethernet card is used for the command interface. A monitor card checks voltage ranges on power supplies and temperature at a number of points through out the working storage unit. A VME interface card provides the direct control of the data flow through the distribution cards under the direction of the CPU.
The result of this complexity is that the working storage unit is expensive. Each working storage unit has two chassis of printed circuit cards. One chassis holds the CPU, the Ethernet LAN interfaces, the CPU memory card, and the monitor card. A second chassis holds the four distribution cards and the input and output cards.
In addition to the CPU, memory, and Ethernet LAN cards, the working storage unit has five different types of cards. This multiplicity of different types of cards increase the complexity of the working storage unit. Two of the most complex cards are the input and the output cards. These cards also are the most numerous in the working storage unit when there are a large number of connections to the working storage unit.
The input and output cards in the working storage unit perform buffering and error correction for the working storage unit. Each input word is placed in a buffer memory organized into 32 data bits with 7 bits of error correction. The error correction bits are added to the data as it is written to the buffer. The buffer is used as a large FIFO for the transfer of data to and from the disks through the distribution cards. The organization of the error correction is fixed. As a consequence, the current structure of the working storage unit is not flexible; 39 data disks are required. The only way to build a small working storage unit is to use disks with a low capacity. These disks are less expensive, but are only one part of the cost of the working storage unit.
Prior art relating to the present invention will now be discussed. U.S. Pat. No 5,124,987 issued to Milligan et al. describes to a RAID 5 (Redundant Array of Independent Disks) storage unit. This RAID technique requires a read-modify-write cycle to enter data into the storage unit. As a consequence, the write cycle is much longer than it needs to be. One difference between the present invention and this approach is in the number of ports to the storage. The Milligan et al. approach provides one or two ports, while the approach of the present invention supports several hundred connections to the storage unit.
U.S. Pat. No. 5,146,588 issued to Crater et al. is another approach for implementing a RAID 5 storage unit. Again there is only one port to enter or retrieve data.
U.S. Pat. No. 5,155,835 issued to Belsan is yet another RAID 5 storage unit. This storage unit integrates the free space directory and provides a port to a tape archive. This approach supports one or several connections to host computers. The host computers provide the communication to the users. The host computers also are a severe bottleneck, reducing data throughput that can be attained.
U.S. Pat. No. 4,831,523 issued to Lewis et al. discloses a scheme for distributing the flow of data to peripherals connected to a host computer bus. The scheme proposes a tightly coupled connection to the host bus using a direct memory access (DMA) technique enhanced by checking the peripherals for traffic and moving the data in 4 byte increments. The scheme distributes the data flow over all of the peripherals. The present invention is directed at connecting one peripheral storage unit to many user workstations.
U.S. Pat. No. 4,899,342 issued to Potter et al. uses a RAID 2 technique with a hot spare. The RAID 2 technique writes a storage word plus error correction bits across a number of disks. When one disk fails, the new data is routed automatically to the hot spare. This technique may be used in one of the disk modules of the present invention, as can the schemes of the other cited patents outlined above.
U.S. Pat. Nos. 4,817,035 and 4,849,929 issued to Timsit disclose a RAID 2 technique including track buffers for read ahead, and write ahead. This technique could improve the performance of one of the disk modules of the present invention. This scheme provides the typical one port connection to the storage.
U.S. Pat. Nos. 4,989,205 and 4,989,206 issued to Dunphy, Jr., et al. disclose a RAID 3 scheme with the disks organized into at least two groups. Spare disks are organized into a pool. Each spare disk can be allocated to any of the groups and the data reconstructed on the spare disk. The result is a higher reliability system. There is only one port provided to the storage unit. This approach may be used in a disk module of the present invention.
U.S. Pat. No. 5,077,736 issued to Dunphy, Jr. et al. discloses a one port RAID 3 scheme. The RAID 3 unit has been arranged in groups. Presumably the allocation of spare disks to any module can be used as in the previous Dunphy patents. This patent provides for different sized modules for different applications. Each module may be used to store a particular kind of data. The modules may be used together to support higher data rates. This scheme has some of the same objectives as the present invention in that the modules can be used together and separately. However, this approach has only one port and is not organized to effectively support multiple ports.
U.S. Pat. No. 5,146,574 issued to Gajjar et al. discloses a technique for segmenting a data file and storing each segment on a different storage media. The technique is similar to RAID 0 and does increase the effective throughput to storage. The scheme is a tightly coupled scheme, tying the storage more closely to the CPU and requiring the CPU to organize the storage more directly. The CPU or its surrogate must generate a list of segment identifiers for each storage module. The data is placed on the bus to the storage modules with the segment identifier. The storage module that is responsible for that segment picks the segment off the bus and stores it. On retrieval the segment identifiers permit the system to reorder the segments into the same order that they started with, reconstructing the file. This scheme has one port to the computer and is in general very different from the present invention.
Therefore it is an objective of the present invention to provide for a modular working storage unit the improves upon the existing working storage unit design.